/**
 * 存在重复元素
给定一个整数数组，判断是否存在重复元素。

如果存在一值在数组中出现至少两次，函数返回 true 。如果数组中每个元素都不相同，则返回 false 。

 

示例 1:

输入: [1,2,3,1]
输出: true
示例 2:

输入: [1,2,3,4]
输出: false
示例 3:

输入: [1,1,1,3,3,4,3,2,4,2]
输出: true

 */

// 直接利用双重循环比较
var containsDuplicate_one = function(nums) {
    for(let i = 0; i < nums.length; i++) {
        for(let j = i + 1; j < nums.length; j++) {
            if(nums[i] === nums[j]) return true;
        }
    }
    return false;
};
// 先排序在比较，排序后，比较相邻的就可了
var containsDuplicate_two = function(nums) {
  nums.sort((a, b) => a - b)
   for(let i = 1; i < nums.length; i++) {
       if(nums[i] === nums[--i]) return true;
   }
   return false;
};

// 利用set集合，Set是唯一值的集合,判断前后的长度是否相等，如果相等就返回
var containsDuplicate_three = function(nums) {
    const set = new Set(nums);
    return set.size !== nums.length
  };
console.log(containsDuplicate_three([1, 2, 3, 4, 7, 4]))